/*
 * $Id: Address.h,v 1.4 2005-12-28 14:52:24 bacon Exp $
 */

#ifndef _XPP_NETX_ADDRESS_CLASS_
#define _XPP_NETX_ADDRESS_CLASS_

#include <xp/types.h>
#include <xp/macros.h>
#include <xp/net/socket.h>

namespace xpp
{
	namespace net
	{

		class Address 
		{
		public:
			virtual ~Address () {}

			typedef xp_sckadr_t addr_t;
			typedef xp_scklen_t len_t;

			virtual int     family      () const = 0;
			virtual int     type        () const = 0;
			virtual addr_t* storage     () const = 0;
			virtual len_t   storageSize () const = 0;
		};

	}
}

#endif
